home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Modules / BackSpaceModules / Source / BoinkSpace / BoinkSpaceView.m < prev    next >
Text File  |  1992-06-22  |  2KB  |  85 lines

  1. //  BoinkSpaceView
  2. //
  3. //  a subclass of BoinkView that adds a space view subview for special effect
  4. //
  5. //  You may freely copy, distribute, and reuse the code in this example.
  6. //  NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  7. //  fitness for any particular use.
  8.  
  9. #import "BoinkSpaceView.h"
  10. #import "Thinker.h"
  11. #import <appkit/Application.h>
  12. #import <dpsclient/wraps.h>
  13.  
  14. @implementation BoinkSpaceView
  15.  
  16. - oneStep
  17. {
  18.     // this is weird but efficient - focus is locked on this View, and
  19.     // spaceview goes ahead and draws on it.  It's like subviews, only
  20.     // faster because all coordinate systems are kept the same...
  21.  
  22.     [super oneStep];
  23.  
  24.     avoid.origin = redrawTo;
  25.     [mySpaceView setVoidRect:&avoid];
  26.     [mySpaceView oneStep];
  27.  
  28.     return self;
  29. }
  30.  
  31. - initFrame:(const NXRect *)frameRect
  32. {
  33.     [super initFrame:frameRect];
  34.     
  35.     mySpaceView = [[SpaceView alloc] initFrame:frameRect];
  36.     [self setAccel:-1.4];
  37.     
  38.     [self newViewSize];
  39.     avoid.size.width = avoid.size.height = 100;
  40.     return self;
  41. }
  42.  
  43. - sizeTo:(NXCoord)width :(NXCoord)height
  44. {
  45.     [super sizeTo:width :height];
  46.     [mySpaceView sizeTo:width :height];
  47.     [self newViewSize];
  48.     return self;
  49. }
  50.  
  51. - drawSelf:(const NXRect *)rects :(int)rectCount
  52. {
  53.     if (!rects || !rectCount) return self;
  54.     
  55.     PSsetgray(0);
  56.     //NXRectFill(rects);
  57.  
  58.     return self;
  59. }
  60.  
  61. - (float) getXspeed
  62. {
  63.     return randBetween(4, 6.5);
  64. }
  65.  
  66. - (const char *)windowTitle
  67. {
  68.     return "BoinkSpace";
  69. }
  70.  
  71. - newViewSize
  72. {
  73.     [super newViewSize];
  74.     nvert =    nhoriz = 0;
  75.     return self;
  76. }
  77.  
  78. - didLockFocus
  79. {
  80.     [mySpaceView didLockFocus];
  81.     return self;
  82. }
  83.  
  84. @end
  85.